import type { IShapeProps } from './IShape';

// eslint-disable-next-line no-shadow
export enum IDeviceColor {
  BW = '0',
  BWR = '1',
  BWY = '2',
  BWRY = '3',
}
/* 颜色合集 */
// eslint-disable-next-line no-shadow
export enum IColor {
  WHITE = 'white',
  BLACK = 'black',
  RED = 'red',
  TRANSPARENT = 'transparent',
}

// eslint-disable-next-line no-shadow
export enum IBorderStyle {
  DASHED = 'dashed',
  DOTTED = 'dotted',
  DOUBLE = 'double',
  GROOVE = 'groove',
  OUTSET = 'outset',
  SOLID = 'solid',
}
export interface IStage {
  /* 价签的宽度 */
  w: number;
  /* 价签的高度 */
  h: number;
  /* 模板ID,由外部传入 */
  id: string;
  /* 背景颜色 */
  backgroundColor: IColor;
  /* 放大倍数 */
  scale: number;
  /* 画布旋转 */
  rotate: number;
  draggable: boolean;
  /* 显示标尺 */
  showRule: boolean;
  /* 使用自定义尺寸 */
  customSize: boolean;
  /* 是否显示辅助线 */
  showSubline: boolean;
  /* 是否显示宽度信息 */
  showSize: boolean;
  /* 镂空手柄 */
  ghostHandle: boolean;
  /* 设备颜色 */
  deviceColor: IDeviceColor;
  /* 模板名 */
  name: string;
  /* 价签尺寸ID */
  resolutionId: string;
  /* 如果存服务器上加载,则会填写这个字段 */
  templateId: string;
  /* 模板颜色，需要删除 */
  templateColor: string;
  /* 商品ID */
  goodsId: string;
  /* 屏幕类型 */
  type: 0 | 1;
  /* 是否显示虚线 */
  showOutline: boolean;
  /* 版本号 */
  version: string;
  /*
    0:不分屏
    1:左右分屏
    2:上下分屏
  */
  split: '0' | '1' | '2';
  /* 子模板 */
  subs: IStage[];
  /* 组件列表 */
  components: IShapeProps[];
  /* 别名 */
  alias?: 'a' | 'b';
  /* 是否为LCD */
  lcd: boolean;
  /* 水平 */
  flipX: boolean;
  /* 垂直翻转 */
  swap: boolean;
}
